<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="../favicon.ico">
    <meta name="viewport" content="width=device-width">
    <title>ECMAScript extensions compatibility table</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,600">
    <link rel="stylesheet" href="../master.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="../master.js"></script>
    <script>
      var __script_executed = {};
      if (typeof global === 'undefined') {
        this.lacksGlobal = true;
        var global = this;
      }
      (function() {
        var s = document.createElement('script'),
            t = document.getElementsByTagName('script')[0];
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto&uid=kangax';
        t.parentNode.insertBefore(s, t);
      })();
    </script>

  </head>
  <body class="non-standard">
    <div id="header">
      <a href="../" id="logo"><img src="../logo.png" alt="JS compat"></a>
      <div id="nav">
        <span class="hidden-mobile">ECMAScript</span>
        <span class="versions">
          <a href="../es5">5</a><!--
          --><a href="../es6">6</a><!--
          --><a href="../es2016plus">2016+</a><!--
          --><a href="../esnext">next</a><!--
          --><a href="../esintl">intl</a><!--
          --><a href="../non-standard" class="current">non-standard</a>
        </span>
        <span class="hidden-mobile">compatibility table</span>
      </div>

      <div class="social">

        <span class="hidden-tablet">
          <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="https://kangax.github.io/compat-table/es5/"></a>
        </span>

        <script async src="https://www.google-analytics.com/ga.js"></script>
        <span class="by">
          by
          <a href="https://twitter.com/kangax" style="color:#eee">kangax</a>
          <script data-gratipay-username="kangax" data-gratipay-widget="button" src="https://grtp.co/v1.js"></script>
          &amp;
          <a href="https://twitter.com/webbedspace" style="color:#eee">webbedspace</a>
        </span>

        <iframe class="hidden-tablet" src="https://ghbtns.com/github-btn.html?user=kangax&amp;repo=compat-table&amp;type=fork&amp;count=true" frameborder="0" scrolling="0" width="90px" height="20px" style="margin-left: 10px"></iframe>
      </div>
    </div>
    <div id="body">
      <div class="controls">
      <label for="sort">
        Sort by
        <select id="sort">
          <option value="engine-types">Engine types</option>
          <option value="features">Features</option>
          <option value="flagged-features">Flagged features</option>
        </select>
      </label>

      <label for="show-obsolete">
        Show obsolete platforms
        <input id="show-obsolete" type="checkbox">
      </label>

      <label for="show-unstable">
        Show unstable platforms
        <input id="show-unstable" type="checkbox" checked>
      </label>
    </div><!--

    --><div class="legend">
        <span><span class="swatch" style="background-color:hsla(79, 100%, 37%, .8)"></span>V8</span>
        <span><span class="swatch" style="background-color:hsla(35, 100%, 50%, .8)"></span>SpiderMonkey</span>
        <span><span class="swatch" style="background-color:hsla(220, 25%, 70%, .8)"></span>JavaScriptCore</span>
        <span><span class="swatch" style="background-color:hsla(217, 85%, 54%, .8)"></span>Chakra</span>
        <span><span class="swatch" style="background-color:hsla(358, 86%, 43%, .8)"></span>Carakan</span>
        <span><span class="swatch" style="background-color:hsla(200, 100%, 74%, .8)"></span>KJS</span>
        <span><span class="swatch" style="background-color:hsla(52, 85%, 63%, .8)"></span>Other</span>
      </div>

      <table id="table-wrapper">
        <thead>
          <tr>
            <th class="test-name">Feature name</th>


            <th class="current">Current browser</th>
<th></th>


            <!-- TABLE HEADERS -->
          <th class="platform konq44 desktop obsolete" data-browser="konq44"><a href="#konq44" class="browser-name"><abbr title="Konqueror 4.4">Konq 4.4</abbr></a></th>
<th class="platform konq49 desktop obsolete" data-browser="konq49"><a href="#konq49" class="browser-name"><abbr title="Konqueror 4.9">Konq 4.9</abbr></a></th>
<th class="platform ie7 desktop obsolete" data-browser="ie7"><a href="#ie7" class="browser-name"><abbr title="Internet Explorer 7">IE 7</abbr></a></th>
<th class="platform ie8 desktop obsolete" data-browser="ie8"><a href="#ie8" class="browser-name"><abbr title="Internet Explorer 8">IE 8</abbr></a></th>
<th class="platform ie9 desktop obsolete" data-browser="ie9"><a href="#ie9" class="browser-name"><abbr title="Internet Explorer 9">IE 9</abbr></a></th>
<th class="platform ie10 desktop obsolete" data-browser="ie10"><a href="#ie10" class="browser-name"><abbr title="Internet Explorer">IE 10</abbr></a></th>
<th class="platform ie11 desktop" data-browser="ie11"><a href="#ie11" class="browser-name"><abbr title="Internet Explorer">IE 11</abbr></a></th>
<th class="platform edge12 desktop obsolete" data-browser="edge12"><a href="#edge12" class="browser-name"><abbr title="Microsoft Edge">Edge 12</abbr></a><a href="#edge-experimental-flag-note"><sup>[2]</sup></a></th>
<th class="platform edge13 desktop obsolete" data-browser="edge13"><a href="#edge13" class="browser-name"><abbr title="Microsoft Edge">Edge 13</abbr></a><a href="#edge-experimental-flag-note"><sup>[2]</sup></a></th>
<th class="platform edge14 desktop" data-browser="edge14"><a href="#edge14" class="browser-name"><abbr title="Microsoft Edge">Edge 14</abbr></a><a href="#edge-experimental-flag-note"><sup>[2]</sup></a></th>
<th class="platform edge15 desktop" data-browser="edge15"><a href="#edge15" class="browser-name"><abbr title="Microsoft Edge">Edge 15</abbr></a><a href="#edge-experimental-flag-note"><sup>[2]</sup></a></th>
<th class="platform firefox38 desktop obsolete" data-browser="firefox38"><a href="#firefox38" class="browser-name"><abbr title="Firefox">FF 38<br> ESR</abbr></a></th>
<th class="platform firefox44 desktop obsolete" data-browser="firefox44"><a href="#firefox44" class="browser-name"><abbr title="Firefox">FF 44</abbr></a></th>
<th class="platform firefox45 desktop" data-browser="firefox45"><a href="#firefox45" class="browser-name"><abbr title="Firefox">FF 45 ESR</abbr></a></th>
<th class="platform firefox46 desktop obsolete" data-browser="firefox46"><a href="#firefox46" class="browser-name"><abbr title="Firefox">FF 46</abbr></a></th>
<th class="platform firefox47 desktop obsolete" data-browser="firefox47"><a href="#firefox47" class="browser-name"><abbr title="Firefox">FF 47</abbr></a></th>
<th class="platform firefox48 desktop obsolete" data-browser="firefox48"><a href="#firefox48" class="browser-name"><abbr title="Firefox">FF 48</abbr></a></th>
<th class="platform firefox49 desktop obsolete" data-browser="firefox49"><a href="#firefox49" class="browser-name"><abbr title="Firefox">FF 49</abbr></a></th>
<th class="platform firefox50 desktop obsolete" data-browser="firefox50"><a href="#firefox50" class="browser-name"><abbr title="Firefox">FF 50</abbr></a></th>
<th class="platform firefox51 desktop obsolete" data-browser="firefox51"><a href="#firefox51" class="browser-name"><abbr title="Firefox">FF 51</abbr></a></th>
<th class="platform firefox52 desktop" data-browser="firefox52"><a href="#firefox52" class="browser-name"><abbr title="Firefox">FF 52</abbr></a></th>
<th class="platform firefox53 desktop unstable" data-browser="firefox53"><a href="#firefox53" class="browser-name"><abbr title="Firefox">FF 53 Beta</abbr></a></th>
<th class="platform firefox54 desktop unstable" data-browser="firefox54"><a href="#firefox54" class="browser-name"><abbr title="Firefox">FF 54 Aurora</abbr></a></th>
<th class="platform firefox55 desktop unstable" data-browser="firefox55"><a href="#firefox55" class="browser-name"><abbr title="Firefox">FF 55 Nightly</abbr></a></th>
<th class="platform chrome47 desktop obsolete" data-browser="chrome47"><a href="#chrome47" class="browser-name"><abbr title="Chrome, Opera">CH 47,<br>OP&#xA0;34</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome48 desktop obsolete" data-browser="chrome48"><a href="#chrome48" class="browser-name"><abbr title="Chrome, Opera">CH 48,<br>OP&#xA0;35</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome49 desktop obsolete" data-browser="chrome49"><a href="#chrome49" class="browser-name"><abbr title="Chrome, Opera">CH 49,<br>OP&#xA0;36</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome50 desktop obsolete" data-browser="chrome50"><a href="#chrome50" class="browser-name"><abbr title="Chrome, Opera">CH 50,<br>OP&#xA0;37</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome51 desktop obsolete" data-browser="chrome51"><a href="#chrome51" class="browser-name"><abbr title="Chrome, Opera">CH 51,<br>OP&#xA0;38</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome52 desktop obsolete" data-browser="chrome52"><a href="#chrome52" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;52,<br>OP&#xA0;39</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome53 desktop obsolete" data-browser="chrome53"><a href="#chrome53" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;53,<br>OP&#xA0;40</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome54 desktop obsolete" data-browser="chrome54"><a href="#chrome54" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;54,<br>OP&#xA0;41</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome55 desktop obsolete" data-browser="chrome55"><a href="#chrome55" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;55,<br>OP&#xA0;42</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome56 desktop obsolete" data-browser="chrome56"><a href="#chrome56" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;56,<br>OP&#xA0;43</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome57 desktop obsolete" data-browser="chrome57"><a href="#chrome57" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;57,<br>OP&#xA0;44</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome58 desktop" data-browser="chrome58"><a href="#chrome58" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;58,<br>OP&#xA0;45</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome59 desktop unstable" data-browser="chrome59"><a href="#chrome59" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;59,<br>OP&#xA0;46</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform safari5 desktop obsolete" data-browser="safari5"><a href="#safari5" class="browser-name"><abbr title="Safari 5.0.5">SF 5</abbr></a></th>
<th class="platform safari51 desktop obsolete" data-browser="safari51"><a href="#safari51" class="browser-name"><abbr title="Safari">SF<br>5.1</abbr></a></th>
<th class="platform safari6 desktop obsolete" data-browser="safari6"><a href="#safari6" class="browser-name"><abbr title="Safari">SF 6</abbr></a></th>
<th class="platform safari7 desktop obsolete" data-browser="safari7"><a href="#safari7" class="browser-name"><abbr title="Safari">SF 6.1,<br>SF 7</abbr></a></th>
<th class="platform safari71_8 desktop obsolete" data-browser="safari71_8"><a href="#safari71_8" class="browser-name"><abbr title="Safari">SF 7.1,<br>SF 8</abbr></a></th>
<th class="platform safari9 desktop obsolete" data-browser="safari9"><a href="#safari9" class="browser-name"><abbr title="Safari">SF 9</abbr></a></th>
<th class="platform safari10 desktop" data-browser="safari10"><a href="#safari10" class="browser-name"><abbr title="Safari">SF 10</abbr></a></th>
<th class="platform safari10_1 desktop" data-browser="safari10_1"><a href="#safari10_1" class="browser-name"><abbr title="Safari">SF 10.1</abbr></a></th>
<th class="platform safaritp desktop unstable" data-browser="safaritp"><a href="#safaritp" class="browser-name"><abbr title="Safari Technology Preview Release 27">SF TP</abbr></a></th>
<th class="platform webkit desktop unstable" data-browser="webkit"><a href="#webkit" class="browser-name"><abbr title="Webkit r214532 (March 29, 2017)">WK</abbr></a></th>
<th class="platform rhino17 engine obsolete" data-browser="rhino17"><a href="#rhino17" class="browser-name"><abbr title="Rhino 1.7">Rhino 1.7</abbr></a></th>
<th class="platform besen engine" data-browser="besen"><a href="#besen" class="browser-name"><abbr title="Bero&apos;s EcmaScript Engine (version 1.0.0.489)">BESEN</abbr></a></th>
<th class="platform phantom engine" data-browser="phantom"><a href="#phantom" class="browser-name"><abbr title="PhantomJS 2.0">PJS</abbr></a></th>
<th class="platform duktape20 engine" data-browser="duktape20"><a href="#duktape20" class="browser-name"><abbr title="Duktape 2.0">DUK 20</abbr></a></th>
<th class="platform duktape21 engine" data-browser="duktape21"><a href="#duktape21" class="browser-name"><abbr title="Duktape 2.1">DUK 21</abbr></a></th>
<th class="platform android40 mobile obsolete" data-browser="android40"><a href="#android40" class="browser-name"><abbr title="Android Browser">AN 4.0</abbr></a></th>
<th class="platform android41 mobile obsolete" data-browser="android41"><a href="#android41" class="browser-name"><abbr title="Android Browser">AN 4.1</abbr></a></th>
<th class="platform android42 mobile obsolete" data-browser="android42"><a href="#android42" class="browser-name"><abbr title="Android Browser">AN 4.2</abbr></a></th>
<th class="platform android43 mobile obsolete" data-browser="android43"><a href="#android43" class="browser-name"><abbr title="Android Browser">AN 4.3</abbr></a></th>
<th class="platform android44 mobile" data-browser="android44"><a href="#android44" class="browser-name"><abbr title="Android Browser">AN 4.4</abbr></a></th>
<th class="platform android50 mobile" data-browser="android50"><a href="#android50" class="browser-name"><abbr title="Android Browser">AN 5.0</abbr></a></th>
<th class="platform android51 mobile" data-browser="android51"><a href="#android51" class="browser-name"><abbr title="Android Browser">AN 5.1</abbr></a></th>
<th class="platform ios51 mobile obsolete" data-browser="ios51"><a href="#ios51" class="browser-name"><abbr title="iOS Safari">iOS 5.1</abbr></a></th>
<th class="platform ios6 mobile obsolete" data-browser="ios6"><a href="#ios6" class="browser-name"><abbr title="iOS Safari">iOS 6</abbr></a></th>
<th class="platform ios7 mobile obsolete" data-browser="ios7"><a href="#ios7" class="browser-name"><abbr title="iOS Safari">iOS 7</abbr></a></th>
<th class="platform ios8 mobile obsolete" data-browser="ios8"><a href="#ios8" class="browser-name"><abbr title="iOS Safari">iOS 8</abbr></a></th>
<th class="platform ios9 mobile" data-browser="ios9"><a href="#ios9" class="browser-name"><abbr title="iOS Safari">iOS 9</abbr></a></th>
<th class="platform ios10 mobile" data-browser="ios10"><a href="#ios10" class="browser-name"><abbr title="iOS Safari">iOS 10.0-10.3</abbr></a></th>
<th class="platform ios10_3 mobile" data-browser="ios10_3"><a href="#ios10_3" class="browser-name"><abbr title="iOS Safari">iOS &gt;=10.3 &lt;11</abbr></a></th>
</tr>

        </thead>
        <tbody>
          <!-- TABLE BODY -->
        <tr class="supertest" significance="1"><td id="test-decompilation"><span><a class="anchor" href="#test-decompilation">&#xA7;</a>decompilation</span></td>
<td class="tally obsolete" data-browser="konq44" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="konq49" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie8" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/4</td>
<td class="tally" data-browser="ie11" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0">0/4</td>
<td class="tally" data-browser="edge14" data-tally="0">0/4</td>
<td class="tally" data-browser="edge15" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="1">4/4</td>
<td class="tally" data-browser="firefox45" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="1">4/4</td>
<td class="tally" data-browser="firefox52" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="0">0/4</td>
<td class="tally" data-browser="chrome58" data-tally="0">0/4</td>
<td class="tally unstable" data-browser="chrome59" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari5" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/4</td>
<td class="tally" data-browser="safari10" data-tally="0">0/4</td>
<td class="tally" data-browser="safari10_1" data-tally="0">0/4</td>
<td class="tally unstable" data-browser="safaritp" data-tally="0">0/4</td>
<td class="tally unstable" data-browser="webkit" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="rhino17" data-tally="0.5">2/4</td>
<td class="tally" data-browser="besen" data-tally="0.25">1/4</td>
<td class="tally" data-browser="phantom" data-tally="0">0/4</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/4</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/4</td>
<td class="tally" data-browser="android44" data-tally="0">0/4</td>
<td class="tally" data-browser="android50" data-tally="0">0/4</td>
<td class="tally" data-browser="android51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/4</td>
<td class="tally" data-browser="ios9" data-tally="0">0/4</td>
<td class="tally" data-browser="ios10" data-tally="0">0/4</td>
<td class="tally" data-browser="ios10_3" data-tally="0">0/4</td>
</tr>
<tr class="subtest" data-parent="decompilation" id="test-decompilation_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/uneval_uneval,_existence_/a_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/uneval_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-decompilation_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/uneval_uneval,_existence_/a_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/uneval_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/uneval">uneval, existence</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/uneval" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof uneval == &apos;function&apos;;
      ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("1");try{return Function("asyncTestPassed","\nreturn typeof uneval == 'function';\n      ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("1");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof uneval == 'function';\n      ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr class="subtest" data-parent="decompilation" id="test-decompilation_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource_built-in_toSource_methods_/a_a_href=_https://developer.mozilla.org/en-US/search?q=tosource_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-decompilation_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource_built-in_toSource_methods_/a_a_href=_https://developer.mozilla.org/en-US/search?q=tosource_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource">built-in &quot;toSource&quot; methods</a> <a href="https://developer.mozilla.org/en-US/search?q=tosource" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return &apos;toSource&apos; in Object.prototype
    &amp;&amp; Number   .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; Boolean  .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; String   .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; Function .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; Array    .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; RegExp   .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; Date     .prototype.hasOwnProperty(&apos;toSource&apos;)
    &amp;&amp; Error    .prototype.hasOwnProperty(&apos;toSource&apos;);
      ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("2");try{return Function("asyncTestPassed","\nreturn 'toSource' in Object.prototype\n    && Number   .prototype.hasOwnProperty('toSource')\n    && Boolean  .prototype.hasOwnProperty('toSource')\n    && String   .prototype.hasOwnProperty('toSource')\n    && Function .prototype.hasOwnProperty('toSource')\n    && Array    .prototype.hasOwnProperty('toSource')\n    && RegExp   .prototype.hasOwnProperty('toSource')\n    && Date     .prototype.hasOwnProperty('toSource')\n    && Error    .prototype.hasOwnProperty('toSource');\n      ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("2");return Function("asyncTestPassed","'use strict';"+"\nreturn 'toSource' in Object.prototype\n    && Number   .prototype.hasOwnProperty('toSource')\n    && Boolean  .prototype.hasOwnProperty('toSource')\n    && String   .prototype.hasOwnProperty('toSource')\n    && Function .prototype.hasOwnProperty('toSource')\n    && Array    .prototype.hasOwnProperty('toSource')\n    && RegExp   .prototype.hasOwnProperty('toSource')\n    && Date     .prototype.hasOwnProperty('toSource')\n    && Error    .prototype.hasOwnProperty('toSource');\n      ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="yes" data-browser="besen">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr class="subtest" data-parent="decompilation" id="test-decompilation_toSource_method_as_hook_for_uneval"><td><span><a class="anchor" href="#test-decompilation_toSource_method_as_hook_for_uneval">&#xA7;</a>&quot;toSource&quot; method as hook for uneval</span><script data-source="
return uneval({ toSource: function() { return &quot;pwnd!&quot; } }) === &quot;pwnd!&quot;;
      ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("3");try{return Function("asyncTestPassed","\nreturn uneval({ toSource: function() { return \"pwnd!\" } }) === \"pwnd!\";\n      ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("3");return Function("asyncTestPassed","'use strict';"+"\nreturn uneval({ toSource: function() { return \"pwnd!\" } }) === \"pwnd!\";\n      ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="unknown obsolete" data-browser="rhino17">?</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr class="subtest" data-parent="decompilation" id="test-decompilation_eval(uneval(value))_is_functionally_equivalent_to_value"><td><span><a class="anchor" href="#test-decompilation_eval(uneval(value))_is_functionally_equivalent_to_value">&#xA7;</a>eval(uneval(value)) is functionally equivalent to value</span><script data-source="

function isEquivalent(x, y) {

    if (x == null || y == null)
        return x === y;

    if (typeof x !== typeof y)
        return false;

    switch (typeof x) {
    case &apos;number&apos;:
        return x === y &amp;&amp; 1/x === 1/y || isNaN(x) &amp;&amp; isNaN(y)
    case &apos;boolean&apos;:
    case &apos;string&apos;:
    case &apos;symbol&apos;:
        return x === y;
    }

    if ({}.toString.call(x) !== {}.toString.call(y))
        return false;

    switch ({}.toString.call(x)) {

    case &apos;[object Boolean]&apos;:
    case &apos;[object Number]&apos;:
    case &apos;[object String]&apos;:
    case &apos;[object Date]&apos;:
        return x.valueOf() === y.valueOf();

    case &apos;[object Function]&apos;:
    case &apos;[object RegExp]&apos;:
    case &apos;[object Error]&apos;:
        return x.toString() === y.toString();

    case &apos;[object Array]&apos;:
        if (x.length !== y.length)
            return false;
        for (var i = 0; i &lt; x.length; i++) {
            if (!isEquivalent(x[i], y[i]))
                return false;
        }
        return true;

    default:
        for (var i in x) {
            if ({}.hasOwnProperty.call(x, i)) {
                if (!{}.hasOwnProperty.call(y, i) || !isEquivalent(x[i], y[i]))
                    return false;
            }
        }
        for (var i in y) {
            if ({}.hasOwnProperty.call(y, i) &amp;&amp; !{}.hasOwnProperty.call(x, i))
                return false;
        }
        return true;

    }

}


var sample = [
    undefined,
    null,
    false,
    1,
    NaN,
    -0,
    &quot;foo&quot;,
    typeof Symbol !== &quot;undefined&quot; &amp;&amp; Symbol.iterator,
    typeof Symbol !== &quot;undefined&quot; &amp;&amp; Symbol.for &amp;&amp; Symbol.for(&apos;bingo&apos;),
    Object(true),
    Object(3),
    Object(&quot;x&quot;),
    function x(y) { return 42 + y; },
    new Date(1234567890123),
    new Error(&quot;message&quot;),
    new EvalError(&quot;WTF&quot;),
    /rx/gim,
    [ 3, undefined, &quot;%&amp;@&quot;, null, function() {} ],
    { foo: &quot;x&quot;, bar: [ 42, new Date ] }
];

for (var k in sample) {
    if (!isEquivalent(sample[k], eval(uneval(sample[k])))) {
        return false;
    }
}

return true;
      ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("4");try{return Function("asyncTestPassed","\n\nfunction isEquivalent(x, y) {\n\n    if (x == null || y == null)\n        return x === y;\n\n    if (typeof x !== typeof y)\n        return false;\n\n    switch (typeof x) {\n    case 'number':\n        return x === y && 1/x === 1/y || isNaN(x) && isNaN(y)\n    case 'boolean':\n    case 'string':\n    case 'symbol':\n        return x === y;\n    }\n\n    if ({}.toString.call(x) !== {}.toString.call(y))\n        return false;\n\n    switch ({}.toString.call(x)) {\n\n    case '[object Boolean]':\n    case '[object Number]':\n    case '[object String]':\n    case '[object Date]':\n        return x.valueOf() === y.valueOf();\n\n    case '[object Function]':\n    case '[object RegExp]':\n    case '[object Error]':\n        return x.toString() === y.toString();\n\n    case '[object Array]':\n        if (x.length !== y.length)\n            return false;\n        for (var i = 0; i < x.length; i++) {\n            if (!isEquivalent(x[i], y[i]))\n                return false;\n        }\n        return true;\n\n    default:\n        for (var i in x) {\n            if ({}.hasOwnProperty.call(x, i)) {\n                if (!{}.hasOwnProperty.call(y, i) || !isEquivalent(x[i], y[i]))\n                    return false;\n            }\n        }\n        for (var i in y) {\n            if ({}.hasOwnProperty.call(y, i) && !{}.hasOwnProperty.call(x, i))\n                return false;\n        }\n        return true;\n\n    }\n\n}\n\n\nvar sample = [\n    undefined,\n    null,\n    false,\n    1,\n    NaN,\n    -0,\n    \"foo\",\n    typeof Symbol !== \"undefined\" && Symbol.iterator,\n    typeof Symbol !== \"undefined\" && Symbol.for && Symbol.for('bingo'),\n    Object(true),\n    Object(3),\n    Object(\"x\"),\n    function x(y) { return 42 + y; },\n    new Date(1234567890123),\n    new Error(\"message\"),\n    new EvalError(\"WTF\"),\n    /rx/gim,\n    [ 3, undefined, \"%&@\", null, function() {} ],\n    { foo: \"x\", bar: [ 42, new Date ] }\n];\n\nfor (var k in sample) {\n    if (!isEquivalent(sample[k], eval(uneval(sample[k])))) {\n        return false;\n    }\n}\n\nreturn true;\n      ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("4");return Function("asyncTestPassed","'use strict';"+"\n\nfunction isEquivalent(x, y) {\n\n    if (x == null || y == null)\n        return x === y;\n\n    if (typeof x !== typeof y)\n        return false;\n\n    switch (typeof x) {\n    case 'number':\n        return x === y && 1/x === 1/y || isNaN(x) && isNaN(y)\n    case 'boolean':\n    case 'string':\n    case 'symbol':\n        return x === y;\n    }\n\n    if ({}.toString.call(x) !== {}.toString.call(y))\n        return false;\n\n    switch ({}.toString.call(x)) {\n\n    case '[object Boolean]':\n    case '[object Number]':\n    case '[object String]':\n    case '[object Date]':\n        return x.valueOf() === y.valueOf();\n\n    case '[object Function]':\n    case '[object RegExp]':\n    case '[object Error]':\n        return x.toString() === y.toString();\n\n    case '[object Array]':\n        if (x.length !== y.length)\n            return false;\n        for (var i = 0; i < x.length; i++) {\n            if (!isEquivalent(x[i], y[i]))\n                return false;\n        }\n        return true;\n\n    default:\n        for (var i in x) {\n            if ({}.hasOwnProperty.call(x, i)) {\n                if (!{}.hasOwnProperty.call(y, i) || !isEquivalent(x[i], y[i]))\n                    return false;\n            }\n        }\n        for (var i in y) {\n            if ({}.hasOwnProperty.call(y, i) && !{}.hasOwnProperty.call(x, i))\n                return false;\n        }\n        return true;\n\n    }\n\n}\n\n\nvar sample = [\n    undefined,\n    null,\n    false,\n    1,\n    NaN,\n    -0,\n    \"foo\",\n    typeof Symbol !== \"undefined\" && Symbol.iterator,\n    typeof Symbol !== \"undefined\" && Symbol.for && Symbol.for('bingo'),\n    Object(true),\n    Object(3),\n    Object(\"x\"),\n    function x(y) { return 42 + y; },\n    new Date(1234567890123),\n    new Error(\"message\"),\n    new EvalError(\"WTF\"),\n    /rx/gim,\n    [ 3, undefined, \"%&@\", null, function() {} ],\n    { foo: \"x\", bar: [ 42, new Date ] }\n];\n\nfor (var k in sample) {\n    if (!isEquivalent(sample[k], eval(uneval(sample[k])))) {\n        return false;\n    }\n}\n\nreturn true;\n      ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="unknown obsolete" data-browser="rhino17">?</td>
<td class="unknown" data-browser="besen">?</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-optional_scope_argument_of_eval"><span><a class="anchor" href="#test-optional_scope_argument_of_eval">&#xA7;</a>optional &quot;scope&quot; argument of &quot;eval&quot;</span><script data-source="
var x = 1;
return eval(&quot;x&quot;, { x: 2 }) === 2;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("5");try{return Function("asyncTestPassed","\nvar x = 1;\nreturn eval(\"x\", { x: 2 }) === 2;\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("5");return Function("asyncTestPassed","'use strict';"+"\nvar x = 1;\nreturn eval(\"x\", { x: 2 }) === 2;\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="unknown obsolete" data-browser="rhino17">?</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-function_caller_property"><span><a class="anchor" href="#test-function_caller_property">&#xA7;</a>function &quot;caller&quot; property <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return &apos;caller&apos; in function(){};
  }">test(
function () {
return 'caller' in function(){};
  }())</script></td>
<td class="yes obsolete" data-browser="konq44">Yes</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="yes obsolete" data-browser="ie7">Yes</td>
<td class="yes obsolete" data-browser="ie8">Yes</td>
<td class="yes obsolete" data-browser="ie9">Yes</td>
<td class="yes obsolete" data-browser="ie10">Yes</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-function_arity_property"><span><a class="anchor" href="#test-function_arity_property">&#xA7;</a>function &quot;arity&quot; property <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return (function () {}).arity === 0 &amp;&amp;
  (function (x) { return x; }).arity === 1 &amp;&amp;
  (function (x, y) { return y; }).arity === 2;
  }">test(
function () {
return (function () {}).arity === 0 &&
  (function (x) { return x; }).arity === 1 &&
  (function (x, y) { return y; }).arity === 2;
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-function_arguments_property"><span><a class="anchor" href="#test-function_arguments_property">&#xA7;</a>function &quot;arguments&quot; property <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
function f(a, b) {
  return f.arguments &amp;&amp; a === 1 &amp;&amp; f.arguments[0] === 1 &amp;&amp; b === &apos;boo&apos; &amp;&amp; f.arguments[1] === &apos;boo&apos;;
}
return f(1, &apos;boo&apos;);
  }">test(
function () {
function f(a, b) {
  return f.arguments && a === 1 && f.arguments[0] === 1 && b === 'boo' && f.arguments[1] === 'boo';
}
return f(1, 'boo');
  }())</script></td>
<td class="yes obsolete" data-browser="konq44">Yes</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="yes obsolete" data-browser="ie7">Yes</td>
<td class="yes obsolete" data-browser="ie8">Yes</td>
<td class="yes obsolete" data-browser="ie9">Yes</td>
<td class="yes obsolete" data-browser="ie10">Yes</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-Function.prototype.isGenerator"><span><a class="anchor" href="#test-Function.prototype.isGenerator">&#xA7;</a><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/isGenerator">Function.prototype.isGenerator</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/isGenerator" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return typeof Function.prototype.isGenerator == &apos;function&apos;;
  }">test(
function () {
return typeof Function.prototype.isGenerator == 'function';
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-class_extends_null"><span><a class="anchor" href="#test-class_extends_null">&#xA7;</a><a href="https://github.com/tc39/ecma262/issues/543">class extends null</a></span><script data-source="
class C extends null {}
return new C instanceof C;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("10");try{return Function("asyncTestPassed","\nclass C extends null {}\nreturn new C instanceof C;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("10");return Function("asyncTestPassed","'use strict';"+"\nclass C extends null {}\nreturn new C instanceof C;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-__count__"><span><a class="anchor" href="#test-__count__">&#xA7;</a><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/prototype">__count__</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/count" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return typeof ({}).__count__ === &apos;number&apos; &amp;&amp;
  ({ x: 1, y: 2 }).__count__ === 2;
}">test(
function () {
return typeof ({}).__count__ === 'number' &&
  ({ x: 1, y: 2 }).__count__ === 2;
}())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-__parent__"><span><a class="anchor" href="#test-__parent__">&#xA7;</a><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/Parent">__parent__</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Parent" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return typeof ({}).__parent__ !== &apos;undefined&apos;;
  }">test(
function () {
return typeof ({}).__parent__ !== 'undefined';
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-__noSuchMethod__"><span><a class="anchor" href="#test-__noSuchMethod__">&#xA7;</a><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/noSuchMethod">__noSuchMethod__</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
var o = { }, executed = false;
o.__noSuchMethod__ = function () { executed = true; };
try {
  o.__i_dont_exist();
} catch (e) { }
return executed;
  }">test(
function () {
var o = { }, executed = false;
o.__noSuchMethod__ = function () { executed = true; };
try {
  o.__i_dont_exist();
} catch (e) { }
return executed;
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Array_generics"><span><a class="anchor" href="#test-Array_generics">&#xA7;</a>Array generics</span><script data-source="function () {
return typeof Array.slice === &apos;function&apos; &amp;&amp; Array.slice(&apos;abc&apos;).length === 3;
  }">test(
function () {
return typeof Array.slice === 'function' && Array.slice('abc').length === 3;
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-String_generics"><span><a class="anchor" href="#test-String_generics">&#xA7;</a>String generics</span><script data-source="function () {
return typeof String.slice === &apos;function&apos; &amp;&amp; String.slice(123, 1) === &quot;23&quot;;
  }">test(
function () {
return typeof String.slice === 'function' && String.slice(123, 1) === "23";
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-Array_comprehensions_(JS_1.8_style)"><span><a class="anchor" href="#test-Array_comprehensions_(JS_1.8_style)">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Predefined_Core_Objects#Array_comprehensions">Array comprehensions (JS 1.8 style)</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Array_comprehensions#Differences_to_the_older_JS1.7JS1.8_comprehensions" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = { 2: true, &quot;foo&quot;: true, 4: true };
var a = [i * 2 for (i in obj) if (i !== &quot;foo&quot;)];
return a instanceof Array &amp;&amp; a[0] === 4 &amp;&amp; a[1] === 8;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("16");try{return Function("asyncTestPassed","\nvar obj = { 2: true, \"foo\": true, 4: true };\nvar a = [i * 2 for (i in obj) if (i !== \"foo\")];\nreturn a instanceof Array && a[0] === 4 && a[1] === 8;\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("16");return Function("asyncTestPassed","'use strict';"+"\nvar obj = { 2: true, \"foo\": true, 4: true };\nvar a = [i * 2 for (i in obj) if (i !== \"foo\")];\nreturn a instanceof Array && a[0] === 4 && a[1] === 8;\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="0.5"><td id="test-Array_comprehensions_(ES_draft_style)"><span><a class="anchor" href="#test-Array_comprehensions_(ES_draft_style)">&#xA7;</a><a href="http://wiki.ecmascript.org/doku.php?id=harmony:array_comprehensions">Array comprehensions (ES draft style)</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Array_comprehensions" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return [for (a of [1, 2, 3]) a * a] + &apos;&apos; === &apos;1,4,9&apos;;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("17");try{return Function("asyncTestPassed","\nreturn [for (a of [1, 2, 3]) a * a] + '' === '1,4,9';\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("17");return Function("asyncTestPassed","'use strict';"+"\nreturn [for (a of [1, 2, 3]) a * a] + '' === '1,4,9';\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Expression_closures"><span><a class="anchor" href="#test-Expression_closures">&#xA7;</a>Expression closures <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Expression_closures" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return (function(x)x)(1) === 1;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("18");try{return Function("asyncTestPassed","\nreturn (function(x)x)(1) === 1;\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("18");return Function("asyncTestPassed","'use strict';"+"\nreturn (function(x)x)(1) === 1;\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="yes" data-browser="besen">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-ECMAScript_for_XML_(E4X)"><span><a class="anchor" href="#test-ECMAScript_for_XML_(E4X)">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Archive/Web/E4X">ECMAScript for XML (E4X)</a> <a href="https://developer.mozilla.org/en-US/docs/Archive/Web/E4X" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof &lt;foo/&gt; === &quot;xml&quot;;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("19");try{return Function("asyncTestPassed","\nreturn typeof <foo/> === \"xml\";\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("19");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof <foo/> === \"xml\";\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-for_each..in_loops"><span><a class="anchor" href="#test-for_each..in_loops">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for_each...in">&quot;for each..in&quot; loops</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for_each...in" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var str = &apos;&apos;;
for each (var item in {a: &quot;foo&quot;, b: &quot;bar&quot;, c: &quot;baz&quot;}) {
  str += item;
}
return str === &quot;foobarbaz&quot;;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("20");try{return Function("asyncTestPassed","\nvar str = '';\nfor each (var item in {a: \"foo\", b: \"bar\", c: \"baz\"}) {\n  str += item;\n}\nreturn str === \"foobarbaz\";\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("20");return Function("asyncTestPassed","'use strict';"+"\nvar str = '';\nfor each (var item in {a: \"foo\", b: \"bar\", c: \"baz\"}) {\n  str += item;\n}\nreturn str === \"foobarbaz\";\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Sharp_variables"><span><a class="anchor" href="#test-Sharp_variables">&#xA7;</a><a href="https://developer.mozilla.org/en/Sharp_variables_in_JavaScript">Sharp variables</a> <a href="https://developer.mozilla.org/en-US/docs/Archive/Web/Sharp_variables_in_JavaScript" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var arr = #1=[1, #1#, 3];
return arr[1] === arr;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("21");try{return Function("asyncTestPassed","\nvar arr = #1=[1, #1#, 3];\nreturn arr[1] === arr;\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("21");return Function("asyncTestPassed","'use strict';"+"\nvar arr = #1=[1, #1#, 3];\nreturn arr[1] === arr;\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown obsolete" data-browser="konq44">?</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="unknown" data-browser="besen">?</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-Iterator"><span><a class="anchor" href="#test-Iterator">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators">Iterator</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
/* global Iterator */
try {
  // jshint newcap:false
  var it = Iterator({ foo: 1, bar: 2 });
  // jshint newcap:true
  var keys = &quot;&quot;;
  var values = 0;
  for (var pair in it) {
    keys   += pair[0];
    values += pair[1];
  }
  return keys === &quot;foobar&quot; &amp;&amp; values === 3;
}
catch(e) {
  return false;
}
  }">test(
function () {
/* global Iterator */
try {
  // jshint newcap:false
  var it = Iterator({ foo: 1, bar: 2 });
  // jshint newcap:true
  var keys = "";
  var values = 0;
  for (var pair in it) {
    keys   += pair[0];
    values += pair[1];
  }
  return keys === "foobar" && values === 3;
}
catch(e) {
  return false;
}
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-__iterator__"><span><a class="anchor" href="#test-__iterator__">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators">__iterator__</a></span><script data-source="function () {
try {
  var x = 5;
  var iter = {
    next: function() {
      /* global StopIteration */
      if (x &gt; 0) return { foo: --x };
      else throw StopIteration;
    }
  };
  var total = 0;
  // jshint iterator: true
  for (var item in { __iterator__: function() { return iter; }}) {
    total += item.foo;
  }
  // jshint iterator: false
  return total === 10;
}
catch(e) {
  return false;
}
  }">test(
function () {
try {
  var x = 5;
  var iter = {
    next: function() {
      /* global StopIteration */
      if (x > 0) return { foo: --x };
      else throw StopIteration;
    }
  };
  var total = 0;
  // jshint iterator: true
  for (var item in { __iterator__: function() { return iter; }}) {
    total += item.foo;
  }
  // jshint iterator: false
  return total === 10;
}
catch(e) {
  return false;
}
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Generators_(JS_1.8)"><span><a class="anchor" href="#test-Generators_(JS_1.8)">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators">Generators (JS 1.8)</a></span><script type="application/javascript;version=1.8" data-source="global.test((function () {
try {
  var g = eval(&apos;(function() { var a = yield &quot;foo&quot;; yield a + &quot;baz&quot;;})&apos;)();
  var passed = g.next() === &quot;foo&quot;;
  return passed &amp;&amp; (g.send(&quot;bar&quot;) === &quot;barbaz&quot;);
}
catch(e) {
  return false;
}
        }()));
        global.__script_executed[&quot;generators&quot;] = true;">global.test((function () {
try {
  var g = eval('(function() { var a = yield "foo"; yield a + "baz";})')();
  var passed = g.next() === "foo";
  return passed && (g.send("bar") === "barbaz");
}
catch(e) {
  return false;
}
        }()));
        global.__script_executed["generators"] = true;</script><script data-source="if (!global.__script_executed[&quot;generators&quot;]) {
global.test((function () {
  try {
    var g = eval(&apos;(function() { var a = yield &quot;foo&quot;; yield a + &quot;baz&quot;;})&apos;)();
    var passed = g.next() === &quot;foo&quot;;
    return passed &amp;&amp; (g.send(&quot;bar&quot;) === &quot;barbaz&quot;);
  }
  catch(e) {
    return false;
  }
}()));
        }">if (!global.__script_executed["generators"]) {
global.test((function () {
  try {
    var g = eval('(function() { var a = yield "foo"; yield a + "baz";})')();
    var passed = g.next() === "foo";
    return passed && (g.send("bar") === "barbaz");
  }
  catch(e) {
    return false;
  }
}()));
        }</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Generator_comprehensions_(JS_1.8_style)"><span><a class="anchor" href="#test-Generator_comprehensions_(JS_1.8_style)">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generator_expressions">Generator comprehensions (JS 1.8 style)</a></span><script data-source="
var obj = { 2: true, &quot;foo&quot;: true, 4: true };
var g = (i * 2 for (i in obj) if (i !== &quot;foo&quot;));
return g.next() === 4 &amp;&amp; g.next() === 8;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("25");try{return Function("asyncTestPassed","\nvar obj = { 2: true, \"foo\": true, 4: true };\nvar g = (i * 2 for (i in obj) if (i !== \"foo\"));\nreturn g.next() === 4 && g.next() === 8;\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("25");return Function("asyncTestPassed","'use strict';"+"\nvar obj = { 2: true, \"foo\": true, 4: true };\nvar g = (i * 2 for (i in obj) if (i !== \"foo\"));\nreturn g.next() === 4 && g.next() === 8;\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="0.5"><td id="test-Generator_comprehensions_(ES_draft_style)"><span><a class="anchor" href="#test-Generator_comprehensions_(ES_draft_style)">&#xA7;</a><a href="http://wiki.ecmascript.org/doku.php?id=harmony:array_comprehensions">Generator comprehensions (ES draft style)</a></span><script data-source="
var iterator = (for (a of [1,2]) a + 4);
var item = iterator.next();
var passed = item.value === 5 &amp;&amp; item.done === false;
item = iterator.next();
passed    &amp;= item.value === 6 &amp;&amp; item.done === false;
item = iterator.next();
passed    &amp;= item.value === undefined &amp;&amp; item.done === true;
return passed;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("26");try{return Function("asyncTestPassed","\nvar iterator = (for (a of [1,2]) a + 4);\nvar item = iterator.next();\nvar passed = item.value === 5 && item.done === false;\nitem = iterator.next();\npassed    &= item.value === 6 && item.done === false;\nitem = iterator.next();\npassed    &= item.value === undefined && item.done === true;\nreturn passed;\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("26");return Function("asyncTestPassed","'use strict';"+"\nvar iterator = (for (a of [1,2]) a + 4);\nvar item = iterator.next();\nvar passed = item.value === 5 && item.done === false;\nitem = iterator.next();\npassed    &= item.value === 6 && item.done === false;\nitem = iterator.next();\npassed    &= item.value === undefined && item.done === true;\nreturn passed;\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-RegExp_x_flag"><span><a class="anchor" href="#test-RegExp_x_flag">&#xA7;</a>RegExp &quot;x&quot; flag</span><script data-source="function () {
try {
  var re = new RegExp(&apos;^ ( \\d+ ) \
                     ( \\w+ ) \
                     ( foo  )&apos;, &apos;x&apos;);
  return re.exec(&apos;23xfoo&apos;)[0] === &apos;23xfoo&apos;;
} catch (e) {
  return false;
}
  }">test(
function () {
try {
  var re = new RegExp('^ ( \\d+ ) \
                     ( \\w+ ) \
                     ( foo  )', 'x');
  return re.exec('23xfoo')[0] === '23xfoo';
} catch (e) {
  return false;
}
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-RegExp_lastMatch"><span><a class="anchor" href="#test-RegExp_lastMatch">&#xA7;</a>RegExp &quot;lastMatch&quot; <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastMatch" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
var re = /\w/;
re.exec(&apos;x&apos;);
return RegExp.lastMatch === &apos;x&apos;;
  }">test(
function () {
var re = /\w/;
re.exec('x');
return RegExp.lastMatch === 'x';
  }())</script></td>
<td class="yes obsolete" data-browser="konq44">Yes</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="yes obsolete" data-browser="ie7">Yes</td>
<td class="yes obsolete" data-browser="ie8">Yes</td>
<td class="yes obsolete" data-browser="ie9">Yes</td>
<td class="yes obsolete" data-browser="ie10">Yes</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-RegExp.$1-$9"><span><a class="anchor" href="#test-RegExp.$1-$9">&#xA7;</a>RegExp.$1-$9 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/n" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
for (var i = 1; i &lt; 10; i++) {
  if (!((&apos;$&apos; + i) in RegExp)) return false;
}
return true;
  }">test(
function () {
for (var i = 1; i < 10; i++) {
  if (!(('$' + i) in RegExp)) return false;
}
return true;
  }())</script></td>
<td class="yes obsolete" data-browser="konq44">Yes</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="yes obsolete" data-browser="ie7">Yes</td>
<td class="yes obsolete" data-browser="ie8">Yes</td>
<td class="yes obsolete" data-browser="ie9">Yes</td>
<td class="yes obsolete" data-browser="ie10">Yes</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-Callable_RegExp"><span><a class="anchor" href="#test-Callable_RegExp">&#xA7;</a>Callable RegExp</span><script data-source="
return /\\w/(&quot;x&quot;)[0] === &quot;x&quot;;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("30");try{return Function("asyncTestPassed","\nreturn /\\\\w/(\"x\")[0] === \"x\";\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("30");return Function("asyncTestPassed","'use strict';"+"\nreturn /\\\\w/(\"x\")[0] === \"x\";\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-RegExp_named_groups"><span><a class="anchor" href="#test-RegExp_named_groups">&#xA7;</a>RegExp named groups</span><script data-source="
return /(?P&lt;name&gt;a)(?P=name)/.test(&quot;aa&quot;) &amp;&amp;
       !/(?P&lt;name&gt;a)(?P=name)/.test(&quot;&quot;)
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("31");try{return Function("asyncTestPassed","\nreturn /(?P<name>a)(?P=name)/.test(\"aa\") &&\n       !/(?P<name>a)(?P=name)/.test(\"\")\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("31");return Function("asyncTestPassed","'use strict';"+"\nreturn /(?P<name>a)(?P=name)/.test(\"aa\") &&\n       !/(?P<name>a)(?P=name)/.test(\"\")\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown obsolete" data-browser="konq44">?</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="unknown" data-browser="besen">?</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-String.prototype.trimLeft"><span><a class="anchor" href="#test-String.prototype.trimLeft">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimLeft">String.prototype.trimLeft</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimLeft" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof String.prototype.trimLeft === &apos;function&apos; }">test(
function () { return typeof String.prototype.trimLeft === 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-String.prototype.trimRight"><span><a class="anchor" href="#test-String.prototype.trimRight">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimRight">String.prototype.trimRight</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimRight" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof String.prototype.trimRight === &apos;function&apos; }">test(
function () { return typeof String.prototype.trimRight === 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="yes obsolete" data-browser="konq49">Yes</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-String.prototype.quote"><span><a class="anchor" href="#test-String.prototype.quote">&#xA7;</a>String.prototype.quote <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof String.prototype.quote === &apos;function&apos; }">test(
function () { return typeof String.prototype.quote === 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="unknown" data-browser="besen">?</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-String.prototype.replace_flags"><span><a class="anchor" href="#test-String.prototype.replace_flags">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace">String.prototype.replace flags</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Firefox-specific_notes" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return &apos;foofoo&apos;.replace(&apos;foo&apos;, &apos;bar&apos;, &apos;g&apos;) === &apos;barbar&apos; }">test(
function () { return 'foofoo'.replace('foo', 'bar', 'g') === 'barbar' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-Date.prototype.toLocaleFormat"><span><a class="anchor" href="#test-Date.prototype.toLocaleFormat">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat">Date.prototype.toLocaleFormat</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof Date.prototype.toLocaleFormat === &apos;function&apos; }">test(
function () { return typeof Date.prototype.toLocaleFormat === 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Date.parse_produces_NaN_for_invalid_dates"><span><a class="anchor" href="#test-Date.parse_produces_NaN_for_invalid_dates">&#xA7;</a>Date.parse produces NaN for invalid dates</span><script data-source="function () {
var brokenOnFirefox = !isNaN(Date.parse(&apos;2012-04-04T24:00:00.500Z&apos;));
var brokenOnIE10 = !isNaN(Date.parse(&apos;2012-12-31T24:01:00.000Z&apos;));
var brokenOnChrome = !isNaN(Date.parse(&apos;2011-02-29T12:00:00.000Z&apos;));
return !brokenOnFirefox &amp;&amp; !brokenOnIE10 &amp;&amp; !brokenOnChrome;
  }">test(
function () {
var brokenOnFirefox = !isNaN(Date.parse('2012-04-04T24:00:00.500Z'));
var brokenOnIE10 = !isNaN(Date.parse('2012-12-31T24:01:00.000Z'));
var brokenOnChrome = !isNaN(Date.parse('2011-02-29T12:00:00.000Z'));
return !brokenOnFirefox && !brokenOnIE10 && !brokenOnChrome;
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="yes obsolete" data-browser="safari5">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="yes" data-browser="besen">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-Object.prototype.watch"><span><a class="anchor" href="#test-Object.prototype.watch">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch">Object.prototype.watch</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof Object.prototype.watch == &apos;function&apos; }">test(
function () { return typeof Object.prototype.watch == 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Object.prototype.unwatch"><span><a class="anchor" href="#test-Object.prototype.unwatch">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch">Object.prototype.unwatch</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof Object.prototype.unwatch == &apos;function&apos; }">test(
function () { return typeof Object.prototype.unwatch == 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Object.prototype.eval"><span><a class="anchor" href="#test-Object.prototype.eval">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/eval">Object.prototype.eval</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/eval" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () { return typeof Object.prototype.eval == &apos;function&apos; }">test(
function () { return typeof Object.prototype.eval == 'function' }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="yes" data-browser="besen">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-Object.observe"><span><a class="anchor" href="#test-Object.observe">&#xA7;</a><a href="https://arv.github.io/ecmascript-object-observe/">Object.observe</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Object.observe == &apos;function&apos;;
  ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("41");try{return Function("asyncTestPassed","\nreturn typeof Object.observe == 'function';\n  ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("41");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Object.observe == 'function';\n  ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
<tr significance="1"><td id="test-error_stack"><span><a class="anchor" href="#test-error_stack">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/stack">error &quot;stack&quot;</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/stack" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
try {
  throw new Error();
} catch (err) {
  return &apos;stack&apos; in err;
}
  }">test(
function () {
try {
  throw new Error();
} catch (err) {
  return 'stack' in err;
}
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="1"><td id="test-error_lineNumber"><span><a class="anchor" href="#test-error_lineNumber">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber">error &quot;lineNumber&quot;</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return &apos;lineNumber&apos; in new Error();
  }">test(
function () {
return 'lineNumber' in new Error();
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-error_columnNumber"><span><a class="anchor" href="#test-error_columnNumber">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/columnNumber">error &quot;columnNumber&quot;</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/columnNumber" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return &apos;columnNumber&apos; in new Error();
  }">test(
function () {
return 'columnNumber' in new Error();
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-error_fileName"><span><a class="anchor" href="#test-error_fileName">&#xA7;</a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName">error &quot;fileName&quot;</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="function () {
return &apos;fileName&apos; in new Error();
  }">test(
function () {
return 'fileName' in new Error();
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="no obsolete" data-browser="ie7">No</td>
<td class="no obsolete" data-browser="ie8">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="yes obsolete" data-browser="rhino17">Yes</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr significance="1"><td id="test-error_description"><span><a class="anchor" href="#test-error_description">&#xA7;</a><a href="http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx">error &quot;description&quot;</a></span><script data-source="function () {
return &apos;description&apos; in new Error();
  }">test(
function () {
return 'description' in new Error();
  }())</script></td>
<td class="no obsolete" data-browser="konq44">No</td>
<td class="no obsolete" data-browser="konq49">No</td>
<td class="yes obsolete" data-browser="ie7">Yes</td>
<td class="yes obsolete" data-browser="ie8">Yes</td>
<td class="yes obsolete" data-browser="ie9">Yes</td>
<td class="yes obsolete" data-browser="ie10">Yes</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="no unstable" data-browser="firefox54">No</td>
<td class="no unstable" data-browser="firefox55">No</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari5">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="no unstable" data-browser="safaritp">No</td>
<td class="no unstable" data-browser="webkit">No</td>
<td class="no obsolete" data-browser="rhino17">No</td>
<td class="no" data-browser="besen">No</td>
<td class="no" data-browser="phantom">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr><th colspan="69" class="separator"></th>
</tr>
</tbody>
      </table>
    </div>
    <div id="footnotes">
      <!-- FOOTNOTES -->
    <p><p id="experimental-flag-note">  <sup>[1]</sup> Flagged features have to be enabled via &quot;Experimental Javascript features&quot; flag unless otherwise stated</p><p id="edge-experimental-flag-note">  <sup>[2]</sup> Flagged features have to be enabled via &quot;Enable experimental Javascript features&quot; setting under about:flags</p></p></div>
    <pre class="info-tooltip" style="display:none"></pre>
    <script src="../jquery.floatThead.min.js"></script>
  </body>
</html>
